package beans;

import java.io.IOException;
import java.io.Serializable;
import java.util.List;

import javax.faces.context.FacesContext;

import webservice.IWebServiceCentral;
import webservice.IWebServiceCentralService;
import beans.DiasSemana;
import beans.Empresa;

public class Cancha implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private int idCancha;
	private String nombre;
	private String direccion;
	private double precio;
	private boolean habilitada;
	private String texto;
	
	private String tel;
	private List<DiasSemana> diasS;
	private Empresa empresa;
	private DiasSemana diasSem;
	
	public int getIdCancha() {
		return idCancha;
	}
	public void setIdCancha(int idCancha) {
		this.idCancha = idCancha;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getDireccion() {
		return direccion;
	}
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}
	public double getPrecio() {
		return precio;
	}
	public void setPrecio(double precio) {
		this.precio = precio;
	}
	public boolean isHabilitada() {
		return habilitada;
	}
	public void setHabilitada(boolean habilitada) {
		this.habilitada = habilitada;
	}
	public String getTexto() {
		return texto;
	}
	public void setTexto(String texto) {
		this.texto = texto;
	}
	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}
	public List<DiasSemana> getDiasS() {
		return diasS;
	}
	public void setDiasS(List<DiasSemana> dias) {
		this.diasS = dias;
	}
	public Empresa getEmpresa() {
		return empresa;
	}
	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}
	
	
	
	public Cancha(){}
	
	
	

    public DiasSemana getDiasSem() {

        if(diasSem == null)

        	diasSem = new DiasSemana();

        return diasSem;

    }

    public void setDiasSem(DiasSemana diasSem) {

        this.diasSem = diasSem;

    }
    

	
	
	public void altaCancha(){
		
		String [] Dias = this.getDiasSem().getDias();
		int[] Horas = this.getDiasSem().getHoras();
		
		String[] tels;
		tels = getTel().split("\n");		
		webservice.Cancha c = new webservice.Cancha();
		webservice.Empresa e = (webservice.Empresa)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("usuario");
		c.setDireccion(getDireccion());
		c.setNombre(getNombre());
		c.setHabilitada(isHabilitada());
		c.setPrecio(getPrecio());
		if(this.getTexto()== null)
			c.setTexto("");
		else
			c.setTexto(getTexto());
		c.setEmpresa(e);
		for (int n = 0; n < tels.length; n++) {
			c.getTelefonos().add(tels[n]);
		}
		//c.getDias().add((webservice.DiasSemana) getDiasSem());
		
		
		for(int i =0; i< Dias.length;i++){
			for(int n = 0; n< Horas.length; n++){
				webservice.DiasSemana d = new webservice.DiasSemana();
				d.setDia(Dias[i]);
				d.setHora(Horas[n]);
				c.getDias().add(d);
			}
		}
		int retorno = 0;
		IWebServiceCentralService wss = new IWebServiceCentralService();
		IWebServiceCentral ws = wss.getIWebServiceCentralPort();
		retorno = ws.altaCancha(c);
		try {
			if (retorno == 1)
				FacesContext.getCurrentInstance().getExternalContext()
						.redirect("altaOkPage.jsf");

			else
				FacesContext.getCurrentInstance().getExternalContext()
						.redirect("errorPage.jsf");
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
	}
	
}
